sandbox
Using eval in Chrome Extensions. Safely. - Google Chrome か content script
で eval すればよい
extension の設定で入力するなら options
→ background
→ content
or sandbox
の流れになる
tabs
でなく activeTab
permission で以下のよく使うやつは実行できる chrome.tabs.query({ active: true, currentWindow: true }, tabs => { const activeTab = tabs[0]; ... }
manifest.json
で宣言しておいて以下のようにして必要なサイトだけ permission を貰える。"optional_permissions": ["http://*/*", "https://*/*"]
// ...
const origin = new URL(activeTab.url).origin + '/*';
chrome.permissions.request({
origins: [origin]
}, (res) => {
console.log(res); // true or false
});
optional_permissions
で宣言してないやつをもらうのはできない chrome.permissions.{onAdded, onRemoved}
を listen する addEventListener("contextmenu", ...)
を Listen すればコンテキストメニュー開いたのを知れる chrome.contextMenu.create
や update
を呼び出す